package org.finesys.quartz.service;

import org.finesys.common.core.module.R;
import org.finesys.common.mp.core.service.BaseService;
import org.finesys.quartz.entity.SysJob;

public interface SysJobService extends BaseService<SysJob> {
    /**
     * 新增定时任务
     */
    R<?> addJob(SysJob sysJob);

    /**
     * 更新定时任务
     */
    R<?> updateJob(SysJob sysJob);

    /**
     * 删除定时任务
     */
    R<?> deleteJob(Long[] jobIds);

    /**
     * 启动全部暂停的定时任务
     */
    R<?> startAll();

    /**
     * 暂停全部的定时任务
     */
    R<?> stopAll();

    /**
     * 启动指定的定时任务
     */
    R<?> start(Long[] jobIds);

    /**
     * 暂停指定的定时任务
     */
    R<?> stop(Long[] jobIds);

    /**
     * 立刻执行定时任务
     *
     * @return
     */
    R<?> run(Long[] jobIds);

    /**
     * 刷新定时任务
     */
    R<?> refreshJob();
}
